home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 6 / Night Owl's Shareware - PDSI-006 - Night Owl Corp (1990).iso / 014a / blanks41.zip / BLANKS.DOC < prev    next >
Text File  |  1992-01-01  |  46KB  |  989 lines

  1.  
  2.            ▄        ▄            ▄         ▄      ▄      ▄      ▄
  3.        █▀▀   ▄     █▀         █▀  ▄         ▄   ░█▀     █▀    █▀
  4.        █    ░█     █         █▀   ░▄       ░█  ░░█      █   ░█▀         ▄
  5.       ░█   ░░█    ░█        ░█   ░░█     ░█░░▄ ░░█      █░░░█▀      █▀▀ ░▄
  6.      ░░░░░░░█▀   ░░█       ░░█   ░░█    ░░█ ░░▄░▒█     ░░░░█▀      ░█   ▀▀
  7.      ░░█▀▀▀░▒▄   ░░█       ░░░░░░░▒█    ░░█ ░▒█▒▒█    ░░█░▒▒▄      ░░░░░▄
  8.      ░▒█   ▒▒█   ░▒█       ░▒█▀▀▀▒▒█    ░▒█  ▒▒▒▒█    ░▒█  ▒▒▄      ▀▀▀░▒▄
  9.      ▒▒█  ▒▒▒█   ▒▒█   ▒▄ ▒▒▒█   ▒▒▒▄   ▒▒█   ▒▒▒█    ▒▒█   ▒▒▄   ░░▄  ▒▒█
  10.     ▒▒▒▒▒▓▓▓█▀  ▒▒▒▒▒▒▓▓█ ▒▓█▀    ▒▓█  ▒▒▓▓█   ▒▓▓▄  ▒▒▓▓▄   ▒▓▓▄  ▒▒▒▓▓█▀
  11.      ▀▀▀▀▀▀▀▀    ▀▀▀▀▀▀▀▀  ▀▀      ▀▀   ▀▀▀▀   ▀▀▀▀   ▀▀▀▀   ▀▀▀▀   ▀▀▀▀▀
  12.  
  13.        Copyright (c) 1988, 1989, 1990, 1991, 1992 FM de Monasterio
  14.               Licensed Material - All rights reserved
  15.  
  16.                   Release 4.10
  17.  
  18.     SUMMARY
  19.  
  20.     BLANKs is a DOS-based, resident utility which blanks the screen after a
  21.     selectable time interval without keyboard, mouse, or video activity; an
  22.     interval as short as 1 minute or as long as 60 minutes can be selected.
  23.     Selecting 0 minutes disables the timed screen blanking.
  24.  
  25.     BLANKs also provides options for parking the hard disk(s) upon blanking
  26.     of the screen; for manual screen blanking if a (user-defined) hotkey is
  27.     pressed or a (user-defined) mouse button is clicked and the mouse is at
  28.     a (user-defined) corner of the screen; and for the use of a password to
  29.     unblank the (manually blanked) screen. See BLANKS.NEW for a description
  30.     of what is new in the current version.
  31.  
  32.     BLANKs is a (terminate-and-stay) resident program which can be executed
  33.     repeatedly to change its parameters without yielding multiple copies to
  34.     memory. It consists of a resident component, that contains the code for
  35.     video blanking/unblanking and for parking the disk, which occupies less
  36.     than 1 kb of RAM, and a non-resident component, that loads the resident
  37.     component, communicates with the resident on further program executions
  38.     and provides other ancillary video services.  BLANKs is compatible with
  39.     MS-DOS versions 2.0 through 5.0 (or compatible operating systems).
  40.  
  41.  
  42.  
  43.    REGISTRATION
  44.  
  45.    This software is user-supported; the present release, although lacking the
  46.    options marked by asterisks, is a fully usable program.  You may test this
  47.    release for (in)compatibilities with your system, but after the testing is
  48.    completed you are requested to order a registered copy of the full release
  49.    of the software from the address at the end of this documentation.
  50.  
  51.    If you would rather use this unregistered copy, consider making a donation
  52.    to the Children's Hospital of Washington DC, for indigent children in need
  53.    of medical care.  Every year in the USA, infant mortality claims the lives
  54.    of tens of thousands of children before their first year of life, and most
  55.    of them come from families below poverty level...  Please send to the same
  56.    address a check payable to the "PATIENT CARE FUND, CHILDREN'S HOSPITAL" on
  57.    the obverse, and marked "For Deposit Only" on the reverse.  Donations will
  58.    be sent to Children's Hospital.  Please identify the program for which you
  59.    are making the donation.
  60.  
  61.    --------------------------------------------------------------------------
  62.      BLANKS.REG contains a form needed to register or upgrade this Software
  63.    --------------------------------------------------------------------------
  64.  
  65.    See the final part of this documentation for information on the Licensing,
  66.    Distribution, Warranty, and Limitation of Remedies of this software.
  67.  
  68.                 -----------------
  69.  
  70.  
  71.     1.  GENERAL INFORMATION
  72.  
  73.     The video blanking is obtained by direct commands to the hardware (video
  74.     controller) to turn off/on the video signal.  This is a fast method that
  75.     operates successfully in the IBM PC/XT, PC/AT and in some IBM compatible
  76.     computers installed with MDA, CGA, EGA, VGA, and HERCULES video adapters
  77.     or with IBM-compatible adapters from other manufacturers.  Actually, the
  78.     blanking/unblanking of the video signal was used by the original PC BIOS
  79.     during some CGA video services.
  80.  
  81.     Starting with BLANKs version 3.34, however, blanking of HERCULES adapter
  82.     cards (HGC, HGC+, InColor) is based on a zero-row display method, kindly
  83.     made available by E.C. Raedecker, which preserves the current video mode
  84.     (text or 720 x 348 graphics) of the adapter, except during CGA emulation
  85.     (see switch /A).
  86.  
  87.     NOTICE     The program may not work in some nonIBM microcomputers and it
  88.     ------     should not be used with other video adapter types unless they
  89.             are compatible with the IBM adapter(s) at the register level.
  90.  
  91.  
  92.     Blanking occurs as a result of keyboard and BIOS video inactivity within
  93.     a selectable time interval (of between 1 and 60 minutes), or by pressing
  94.     a selectable hotkey (<Ctrl-B> in the distributed version). Once blanking
  95.     has occurred, press any key to unblank the screen; a <Shift> keypress is
  96.     especially useful for this purpose.
  97.  
  98.     BLANKs can be executed repeatedly to modify resident parameters, without
  99.     resulting in multiple copies to memory. The resident part uses about 800
  100.     bytes of memory.  BLANKs parameters can be specified from the DOS prompt
  101.     or via the environment string 'BLANKS' (see below).
  102.  
  103.     The noncritical messages, i.e. successful or uneventful operation, can be
  104.     redirected to the NUL: device (bit bucket) by the DOS redirection command
  105.     '> NUL.' Critical messages such as operation failures, however, cannot be
  106.     redirected by DOS commands, and are always displayed (unless the "StdErr"
  107.     handle processing of the console output has been modified).
  108.  
  109.     The program performs a cyclic redundancy check every time it is executed.
  110.     If the CRC fails, the program aborts execution as CRC failures indicate a
  111.     modification of the code, and the program should not be used for your own
  112.     protection.
  113.  
  114.  
  115.     CPU VERSIONS
  116.  
  117.     The program is written in assembly language; each version consists of four
  118.     processor-type releases (086, 268, 386 and 486) in which the code has been
  119.     optimized for the CPU types of the 80x86 processor family.  This is needed
  120.     since the x86 processors differ markedly in instruction execution time and
  121.     the incorporation of a memory cache in some CPU types affects such time by
  122.     influencing the speed of both instruction fetching and memory access.
  123.  
  124.     In addition to standard (086) assembly language instructions, the 286, 386
  125.     and 486 releases of the program also use 286-, 386- or 486-specific opcode
  126.     instructions in "real" mode (which is the native mode for 086 processors).
  127.     The type and degree of code optimization vary with the CPU type, and yield
  128.     usually small variations of resident size.
  129.  
  130.                 -----------------
  131.  
  132.  
  133.     2. USAGE
  134.  
  135.     From the DOS command line or from a batch file, BLANKs is installed (or,
  136.     when already installed, modified) by the command:
  137.  
  138.              BLANKs [t] [/Switches] [;Comments]
  139.     Where:
  140.  
  141.     A.  Time interval [t]
  142.  
  143.     Timed blanking interval (minutes). This is the interval that the program
  144.     waits before blanking the screen in the absence of keyboard, video (BIOS
  145.     mediated), or mouse (INT-33h mediated) activity.  Valid selections are 0
  146.     or a decimal number in the range 1 to 60.  Selecting an interval of zero
  147.     minute disables TIMED blanking; the selection of an interval larger than
  148.     60 defaults to 60 minutes or to the value (within the 1-60 range) of the
  149.     first 2 digits of selections with more than 2 digits.
  150.  
  151.     Typing the letter <T> instead of a number yields a 1-second interval for
  152.     test purposes (see below key <F2> in Status/Usage/Help panel).
  153.  
  154.     Defaults: Null interval = 3  minutes; this default can be changed via an
  155.     environment variable (see below).
  156.  
  157.                     --------
  158.  
  159.     B.  Switches to modify the default parameters can be entered from:
  160.  
  161.     (1)  The DOS command line
  162.     (2)  A batch file
  163.     (3)  An environment variable with the format 'BLANKS=/SWITCH1.../SWITCHn'
  164.  
  165.     Switches can be given in any order and any character between space (ASCII
  166.     32) and slash (ASCII 47) can be used as a switch delimiter.  The switches
  167.     are not case sensitive and can be entered in any order; an invalid switch
  168.     specification aborts program execution.  (Starting with version 3.17, the
  169.     switch /C is no longer recognized as a program cloning request.)
  170.  
  171.     -------------------------------------------------------------------------
  172.       (*) Asterisks mark items available only in registered program copies
  173.     -------------------------------------------------------------------------
  174.  
  175.  
  176.     SWITCH /?
  177.  
  178.     This switch displays the Status/Usage/Help panels, which are described in
  179.     more detail in the section below.  If a VGA or EGA is the active adapter,
  180.     the program saves the contents of the palette registers prior to changing
  181.     the video attributes for its various displays.  See section STATUS/USAGE/
  182.     HELP PANELS below.
  183.  
  184.     NOTE: (EGA users only) The default IBM palette attributes are restored if
  185.     the BIOS fails to store properly the original data.
  186.  
  187.  
  188.  
  189.     SWITCH /Ax
  190.  
  191.     Forces configuration to a specified video adapter. Switch /A bypasses the
  192.     automatic configuration of BLANKs for the adapter detected at the time of
  193.     each execution.  Valid specifications:
  194.  
  195.       /AM   MDA configuration: IBM Monochrome Display Adapter and, in
  196.         text mode only, HERCULES adapters HGC, HGC+, InColor etc.
  197.         The MDA configuration does not restore a graphics mode in
  198.         the HERCULES card.  Uses and restores bit 3 of video port
  199.         3B8h, but forces bits 7 and 1 to 0.
  200.  
  201.       /AH   HGA configuration: HERCULES adapters (HGC, HGC+, InColor)
  202.         in text or graphics mode, but not in CGA emulation.  Uses
  203.         and restores register 6 of video port 3B5h.
  204.  
  205.       /AC   CGA configuration: IBM Color Graphics Adapter, MultiColor
  206.         Graphics Array [MCGA], and compatible adapters.  Uses and
  207.         restores bits 0-3 of port 3D9h and bit 3 of port 3D8h.
  208.  
  209.       /AE   EGA configuration: IBM Enhanced Graphics Adapter and EGA-
  210.         compatible cards.  Resets video ports 3BAh and 3DAh. Uses
  211.         and restores bit 5 of port 3C0h.
  212.  
  213.       /AV   VGA configuration: IBM Video Graphics Array and compatible
  214.         adapters.  Uses video port 3C4h, and uses and restores bit
  215.         5 of port 3C5h.
  216.  
  217.       /A-   Ignore prior forced configuration.  Uses the configuration
  218.         selected by BLANKs for the adapter detected at the time of
  219.         (each) execution.
  220.  
  221.  
  222.     Switch /A is useful if the video adapter type is not identified properly;
  223.     it does not need to be selected unless you want to modify the settings of
  224.     the program (read the above notice on adapter compatibility).
  225.  
  226.     BLANKs (release 3.15 or later) assumes that a CGA whose ROM BIOS contains
  227.     the letters 'COMPAQ' is a monochrome COMPAQ card; if you wish to override
  228.     this assumption, switch /AC forces a CGA color configuration.
  229.  
  230.  
  231.  
  232.     SWITCH /Dn
  233.  
  234.     Adjusts brightness of the display (VGA only).  The brightness change step
  235.     is specified by the sign and value of number <n> ranging from -63 to +63.
  236.  
  237.       /D-n  (for 0 < n < 64): Decrease the brightness of the screen,
  238.         reducing the contrast of the display.
  239.  
  240.       /D+n  (for 0 < n < 64): Increase the brightness of the screen,
  241.         reducing the saturation of the display.
  242.  
  243.       /D0   Restore screen to its original brightness as dictated by
  244.         the settings of the monitor.  Clears the screen.
  245.  
  246.     Defaults:  /D = /D-2, /D1 = /D-1.
  247.  
  248.     Brightness changes are additive. Repeated use of the switch or the use of
  249.     large step numbers yields unreadable displays; use /D0 to restore display
  250.     contrast.  (Switch /D is a sticky parameter, as brightness changes remain
  251.     in effect even if BLANKs is made quiescent or uninstalled.)
  252.  
  253.  
  254.  
  255.   * SWITCH /E
  256.  
  257.     Creates/updates the environment block variable BLANKS=/SWITCH1.../SWITCHn
  258.     in which SWITCH1...SWITCHn are the switches to be implemented when BLANKs
  259.     is executed from the DOS command line without any argument.  Although the
  260.     switch itself is incorporated in the variable as well, it is ignored when
  261.     BLANKs uses the environment variable as input.  See section INSTALLATION,
  262.     for more details.  No defaults.
  263.  
  264.  
  265.  
  266.   * SWITCH /H
  267.  
  268.     Loads the resident in the Upper Memory Area (UMA), between addresses 640
  269.     kb and 1,024 kb of memory; this is the region below the 1-Mb boundary of
  270.     the memory accessible by 086 CPUs, but above the 640-kb hardware barrier
  271.     of MS-DOS.  The switch requires an available upper memory block (UMB) of
  272.     about .9 to 1.7 kb (depending on the number of modules to be installed),
  273.     which is allocated by the program itself either via a direct XMS request
  274.     or, when DOS controls the UMB allocation (i.e. DOS 5.0 linked to the UMA
  275.     through the command DOS=UMB in CONFIG.SYS), via DOS calls. Allocation of
  276.     UMBs requires the presence of an XMS manager (XMM) that supports the UMB
  277.     services 10h-11h of the XMS 2.0, and (if the XMM lacks the capability of
  278.     remapping memory) the presence of an UMB provider.
  279.  
  280.  
  281.   * SWITCH /Hn
  282.  
  283.     A lower upper-memory limit for the UMB loading can also be requested via
  284.     switch /Hn, in which <n> is a four-digit hexadecimal number between A000
  285.     (640 kb) and FFFF (1,024 kb), in order to avoid or select specific areas
  286.     of upper memory.
  287.  
  288.  
  289.   * SWITCH /Hn@
  290.  
  291.     A lower-memory resident marker can also be installed along with the UMB
  292.     resident via switch /H@ or /Hn@; the marker occupies 144 bytes of lower
  293.     conventional memory, can be identified in some memory mapping utilities
  294.     by the name
  295.                     BLANKs @ UMB
  296.  
  297.     and is released from memory when the UMB resident is uninstalled.  This
  298.     marker may be used (1) to remind that the resident is already installed
  299.     in upper memory, (2) to help locate the UMB installation address in the
  300.     case of some mapping utilities, and (3) to help avoid removal conflicts
  301.     when lower and upper-memory residents are interspersed.
  302.  
  303.     Defaults:  Low-memory installation if any error is found during the UMB
  304.     loading; high-memory installation below lower-address limit if UMBs are
  305.     not available above such limit.
  306.  
  307.  
  308.  
  309.   * SWITCH /K±?xn
  310.  
  311.     Hotkey switch. In addition to timed screen blanking, BLANKs allows manual
  312.     blanking of the video by pressing hotkey combination.  The default hotkey
  313.     combination is <Ctrl-B> in the distributed version of the program, but it
  314.     can be changed with this switch in the case of a key-assignment conflict.
  315.     Once the screen has been blanked via the hotkey (manual blanking), it can
  316.     only be unblanked by pressing any key.
  317.  
  318.     BLANKs erases the hotkey from the keyboard buffer so it is not displayed.
  319.     However, a program executed after BLANKs is loaded could save the hotkey.
  320.     This is what happens, for example, with some word processors in which the
  321.     hotkey needs to be erased from the text.
  322.  
  323.       /K+   Enable hotkey operation; this is the default condition
  324.         if an switch argument is not specified (/K = /K+).
  325.  
  326.       /K-   Disable hotkey operation.  Can be reenabled with /K+.
  327.  
  328.     * /K?   Permit selection of a new hotkey combination including
  329.         an alphanumeric key, and one or more of the shift keys
  330.         <Ctrl>, <Alt>, <lt-Shift>, and <rt-Shift>.
  331.  
  332.     * /Kxn  Select <xn> as the hotkey combination, in which <x> is
  333.         a pure alphanumeric character (0-9 or A-Z), and <n> is
  334.         a digit between 4 and 15 only.  This digit corresponds
  335.         to one of the following shifting keys or their sum:
  336.  
  337.             1 = right shift       ------------------------
  338.             2 = left shift     Values higher than 15 or
  339.             4 = Ctrl           lower than 4 are invalid
  340.             8 = Alt           ------------------------
  341.  
  342.     For obvious reasons, <Ctrl> or <Alt>, or both, must be part of a new hot-
  343.     key combination either in switch /K? or /Kxn.  If a hotkey other than the
  344.     default combination is needed routinely, it may be useful to store in the
  345.     DOS environment the variable 'BLANKS=/Kxn' (see INSTALLATION section).
  346.  
  347.  
  348.  
  349.   * SWITCH /M±
  350.  
  351.     Enables and disables the monitoring of Mouse activity compatible with the
  352.     Microsoft/Logitech mouse driver format.  Applications use different mouse
  353.     programming styles, of which the most common are: calls to interrupt 33h,
  354.     a software interface set up and serviced by the mouse driver, and a user-
  355.     defined mouse event handler, which functions as a mouse interrupt service
  356.     dedicated to those particular mouse events (e.g. right button pressed, no
  357.     mouse motion, etc) defined by the requesting application.
  358.     
  359.     * /M+   Enable global mouse monitoring (i.e., monitoring INT-33h calls
  360.         and user-handler calls, and allowing mouse-mediated blanking).
  361.  
  362.     * /M-   Disable global mouse monitoring; this is the default status if
  363.         a mouse driver (Microsoft/Logitech compatible format) is *NOT*
  364.         found to be active at the time of installing BLANKs.
  365.  
  366.     * /MI+  Enable monitoring of INT-33h mouse function calls only.
  367.  
  368.     * /MI-  Disable monitoring of INT-33h mouse function calls only.
  369.  
  370.     * /MH+  Enable mouse monitoring of user-handler calls only.
  371.  
  372.     * /MH-  Disable monitoring of user-handler mouse calls only.
  373.  
  374.     * /MB+  Enable mouse-mediated screen blanking; defaults to blanking if
  375.                both the right mouse button is clicked and the mouse points to
  376.                the upper-left corner of the screen.  Also:
  377.  
  378.           /MBR@L    Blank screen if both the RIGHT mouse button is clicked
  379.             and the pointer is at the LEFT-upper screen corner.
  380.  
  381.           /MBL@L    Blank screen if both the LEFT  mouse button is clicked
  382.             and the pointer is at the LEFT-upper screen corner.
  383.  
  384.           /MBB@L    Blank screen if both a mouse button is clicked and the
  385.             pointer is at the LEFT-upper screen corner.
  386.  
  387.           /MBR@R    Blank screen if both the RIGHT mouse button is clicked
  388.             and the pointer is at the RIGHT-upper screen corner.
  389.  
  390.           /MBL@R    Blank screen if both the LEFT  mouse button is clicked
  391.             and the pointer is at the RIGHT-upper screen corner.
  392.  
  393.           /MBB@R    Blank screen if both a mouse button is clicked and the
  394.             pointer is at the RIGHT-upper screen corner.
  395.  
  396.     * /MB-  Disable mouse-mediated screen blanking.
  397.  
  398.  
  399.     The selected type of mouse activity avoids a timed screen blanking. If the
  400.     mouse-handler monitoring is enabled and a password is not not required for
  401.     unblanking, keyboard activity or mouse motion unblanks the screen.
  402.  
  403.     Defaults: /M[+] = /MI+/MH+/MBR@L+; /M- = /MI-/MH-/MB-; /MI = /MI+; /MH[+]=
  404.     /MH+/MBR@L; /MB[+] = /MBR@L; null switch = /MH+ /MBR@L on installation.
  405.  
  406.     NOTE:  The monitoring of INT-33h function calls ignores functions 1 ('Show
  407.         Mouse Pointer') and 2 ('Hide Mouse Pointer').
  408.  
  409.  
  410.  
  411.   * SWITCH /P±
  412.  
  413.     Enables/disables the parking of the hard disk(s) upon the manual or timed
  414.     blanking of the screen.  Moves the disk head to the highest disk cylinder
  415.     for each physical disk that can be accessed via interrupt-13h calls (BIOS
  416.     disk services).  Parking is inhibited when BIOS-mediated disk or diskette
  417.     activity is in progress at the time of blanking.
  418.  
  419.     * /P+   Enable hard disk parking; this is the default condition
  420.         if an argument is not specified at the time of resident
  421.         installation.
  422.  
  423.     * /P-   Disable disk parking. (Can be reenabled with /P[+].)
  424.  
  425.     Defaults:  /P = /P+
  426.  
  427.     If BLANKs is installed in a machine lacking hard disks, parking should be
  428.     disabled at the time of installation, as a parking attempt may crash some
  429.     machines with poorly designed BIOSes.
  430.  
  431.     NOTE: Disk-parking-upon-blanking is not available in a special version of
  432.     the program for diskless machines to avoid potential conflicts.
  433.  
  434.  
  435.  
  436.     SWITCH /Q
  437.  
  438.     Disables timed blanking.  The switch has the same effect as specifying an
  439.     interval of 0 minutes for the interval option [t]; it does not affect the
  440.     manual blanking via the hotkey combination.  No defaults.
  441.  
  442.  
  443.  
  444.     SWITCH /U
  445.  
  446.     Uninstalls the resident code from memory.  This request is disregarded if
  447.     the address of any of the interrupts intercepted by the resident has been
  448.     modified since the program was installed.  The revectoring indicates that
  449.     another resident has subsequently hooked the same interrupt(s). Thus, the
  450.     program cannot be uninstalled, because this would leave such interrupt(s)
  451.     pointing to empty memory, and the program would then crash.
  452.  
  453.     The program should be uninstalled only if it is the last resident to have
  454.     been installed. In practice, however, it can also be uninstalled when any
  455.     subsequently installed resident intercepts different interrupts; although
  456.     this increases fragmentation of memory, the resulting "hole" is innocuous
  457.     and can be used by DOS for other purposes (e.g., an environment block).
  458.  
  459.  
  460.  
  461.   * SWITCH /W±?x
  462.  
  463.     The switch controls password-mediated unblanking.  A selected sequence of
  464.     1 to 15 non-shifted, alphanumeric characters, followed by a <right-Shift>
  465.     keypress, must be pressed in correct sequence to unblank the screen after
  466.     a MANUAL blanking.  Rebooting via <Ctrl-Alt-Del> is inhibited.
  467.  
  468.     * /Wx   Specify the password from the DOS command line, which <x>
  469.         is a string of 1 to 15 nonshifted, pure alphanumeric (0-9
  470.         a-z) characters.
  471.  
  472.       /W?   Request to specify a new password of up to 15 nonshifted,
  473.         pure alphanumeric characters. After these characters have
  474.         been typed, press <ENTER> to make this password resident;
  475.         press <Esc> to avoid changing the password or press <Ctrl
  476.         Break> to quit to DOS. The typed characters can be erased
  477.         with the <Backspace> key.
  478.  
  479.         NOTE: If <Enter> is pressed before any valid character is
  480.         typed, the unblanking of the manual blanking of the video
  481.         will occur only after pressing the <Right-Shift> key.
  482.  
  483.     * /W-   Disable password unblanking.
  484.  
  485.     * /W+   Re-enable use of the resident password (if a password had
  486.         not been loaded, the video will unblank only when <Right-
  487.         Shift> is pressed).
  488.  
  489.     Defaults: /W = /W+.
  490.  
  491.     NOTE: Even when enabled, the password is not needed to unblank the screen
  492.     after a TIMED blanking.
  493.  
  494.                     --------
  495.  
  496.  
  497.     C.  Comments may be added in the command line after the desired switches
  498.     and must be preceded by a semicolon.  Such comments, which may be useful
  499.     in clarifying batch files, are ignored by the program.
  500.  
  501.     Do not use the redirection and pipe characters in the comments since DOS
  502.     will attempt to implement the implied redirection or pipe request.
  503.  
  504.                 -----------------
  505.  
  506.  
  507.     3.  STATUS/USAGE/HELP PANELS
  508.  
  509.     Executing the program with switch /? selected allows access to the Status/
  510.     Usage and Help panels. (If a Mouse pointing device driver, compatible with
  511.     the Microsoft Mouse driver version 6.0 or higher is loaded and active, all
  512.     of the services provided by these panels can also be activated by pointing
  513.     the mouse to specific regions of the display and clicking either button of
  514.     the device.)
  515.  
  516.     The STATUS/USAGE panel, which is shown first, describes status information
  517.     for the resident and its services.  If the program has not been installed,
  518.     pressing key <F2> or <S> shows the default installation parameters.  If it
  519.     is installed, pressing key <F2> or <T> yields a 1-second blanking interval
  520.     for testing purposes; the original interval is restored once the screen is
  521.     unblanked by a keypress.
  522.  
  523.     The USAGE subpanel shows a menu for the command switches: To cycle between
  524.     the main and the auxiliary menu, press key <F2> or <M>, or click the mouse
  525.     upon the screen button labelled <Menu>.  If the resident is installed, the
  526.     status of some 'on/off' command switches is displayed by '+' or '-' before
  527.     a given menu entry.
  528.  
  529.     The HELP panel provides a summary description of the program and commands,
  530.     and is displayed if key <F1> or <H> is pressed from the Status/Usage panel
  531.     (or if the mouse is clicked upon the screen button labelled <Help>). Press
  532.     the keypad cursor keys (Home/End, PgUp/PgDn, arrows) to scroll the display
  533.     down or up.  Press key <F1> to skip the brief program summary and position
  534.     the text on the Usage section directly.  Press key <Esc> or <F2> to return
  535.     to the Status/Usage panel.
  536.  
  537.     Press key <X> or click the mouse upon the screen button labelled <eXit> to
  538.     return to the DOS-prompt command line from either panel.
  539.  
  540.  
  541.     NOTE: When the program is waiting for keyboard (or mouse input) during the
  542.     display of the Status/Usage panel, it calls repeatedly the IDLE interrupts
  543.     of DOS: INT 28h and, if MS-DOS 5+ is installed, function 1608h of INT 2Fh.
  544.     INT 28h allows a potential background activation of (some) other residents
  545.     while INT 2Fh/1608h allows DOS to suspend the idle program temporarily and
  546.     transfer control to another program.
  547.  
  548.                 -----------------
  549.  
  550.  
  551.     4.  INSTALLATION
  552.  
  553.  
  554.     DIRECT UPPER-MEMORY AREA LOADING
  555.  
  556.     The utility can self-install the resident in the upper memory area (UMA),
  557.     that is, RAM addresses between 640 kb and 1,024 kb, via switch /H (or its
  558.     subfunctions /Hn, /H@, and /Hn@).  Program releases prior to version 3.20
  559.     lack this feature.
  560.  
  561.     The allocation of UMA blocks (UMBs) is arbitrated by an XMS manager (XMM)
  562.     version 2.0 or higher; the XMM must be installed prior to the UMB-loading
  563.     of the resident.  Allocation also requires the remapping of UMA addresses
  564.     by a UMB provider, when such a task is not implemented by the XMM itself.
  565.     XMMs require DOS version 3.0 or later.
  566.  
  567.     The XMM HIMEM.SYS and the UMB-provider EMM386.EXE are distributed with MS
  568.     DOS 5.0; the allocation of UMBs is controlled by DOS when these 2 drivers
  569.     are installed, and the command 'DOS=UMB' is added to the CONFIG.SYS file.
  570.     Of course, other 386-specific memory managers, such as 386MAX or QEMM386,
  571.     provide both UMB remapping and XMS support.
  572.  
  573.     Switch /Hn, where A000 ≤ n ≤ FFFF (hexadecimal), allows the specification
  574.     of a minimum upper-memory limit for the UMB to avoid UMA regions having a
  575.     very slow access time (or to preserve regions with a fast access time for
  576.     other utilities that require faster times, such as a disk cache or screen
  577.     accelerator), or to avoid fragmentation of the UMA when UMB allocation is
  578.     not controlled by DOS 5, but by the XMM itself.  Such a fragmentation may
  579.     occur when the XMM allocates blocks on a first-fit basis, i.e., the first
  580.     available UMB having the lowest UMA address is allocated, irrespective of
  581.     whether or not a (smaller) block matching the requested size is available
  582.     at a higher UMA address.  Unless the size of the available UMBs increases
  583.     with increasing memory address, first-fit allocation of a small UMB leads
  584.     to the breaking of large UMA blocks into smaller ones, thus hampering the
  585.     UMB installation of larger residents.
  586.  
  587.     When DOS controls the UMB allocation, the program enforces the allocation
  588.     of the resident block on a best-fit basis when <n> is not specified; that
  589.     is, all available blocks are searched (by DOS), and the one matching most
  590.     closely the size requested is allocated.
  591.  
  592.     When DOS controls UMB allocation and <n> is specified, UMBs are allocated
  593.     on a first-fit basis.  While this may contribute to UMA fragmentation, it
  594.     allows for the checking of a minimum memory limit in those cases in which
  595.     the selection or avoidance of a specific UMA region is more important.
  596.  
  597.     Hence, compared to the upper-memory installation provided by the LOADHIGH
  598.     command of DOS 5.0, or similar services provided by some memory managers,
  599.     program self-loading into a UMB has several advantages, including: (1) it
  600.     does not require an initial free block of upper memory of the size of the
  601.     entire program (as opposed to the size of its resident only), (2) it does
  602.     allow user control on the selection of the upper-memory block, and (3) it
  603.     can help reduce UMA fragmentation.
  604.  
  605.     NOTE:
  606.     The address and size of available UMBs can be obtained with MEM.EXE, when
  607.     DOS controls UMB allocation, or with the memory manager itself, when this
  608.     allocation is controlled by 386-specific memory managers. In either case,
  609.     these data can also be obtained with UMAX.EXE, a UMA mapping utility that
  610.     is distributed by the author.
  611.  
  612.  
  613.  
  614.     HIGH-LOADING VIA 386-MEMORY MANAGERS OR MS-DOS 5
  615.  
  616.     Of course, the resident can also be installed in the UMA via a 386-memory
  617.     manager or via (UMB-linked) MS-DOS 5 provided that there is enough memory
  618.     for the actual size of the entire program, and any additional memory that
  619.     may be needed by the loading utility.
  620.  
  621.     To minimize disk storage, the program is distributed as a compressed file
  622.     that expands upon its execution. The difference between the actual loaded
  623.     size and the nominal directory size may create conflicts with high-memory
  624.     loading programs that fail to measure the actual size: When the available
  625.     high memory is not sufficient to permit the file expansion, but is larger
  626.     than the nominal directory size, such programs will load the (compressed)
  627.     utility. The subsequent expansion will then overwrite adjacent memory and
  628.     likely crash the memory manager or DOS itself.
  629.  
  630.     The executable file expands by a factor between 1.3 and 1.7.  Notice that
  631.     the restoration of the contents of the screen requires an additional 4800
  632.     bytes of free memory if switch /?, /K?, or /W? has been specified.
  633.  
  634.  
  635.  
  636.     UPPER-MEMORY UPDATING
  637.  
  638.     When the program has been loaded in the upper memory, it does not require
  639.     a high-memory loading utility to update its resident, and all updates can
  640.     be made by executing the program from the DOS-command line. This obviates
  641.     the cumbersome restriction (of some memory systems) of having to maintain
  642.     a pool of free upper memory simply to load the entire program to update a
  643.     small resident. Program releases prior to version 3.00 lack this feature.
  644.  
  645.  
  646.  
  647.     UPPER-MEMORY DEALLOCATION
  648.  
  649.     If the deallocation of the resident is requested (switch /U) from the DOS
  650.     command line (as opposed to via an upper-memory loading utility), removal
  651.     of the resident is implemented, even if it was installed in the UMA. (The
  652.     confirmation request of versions 3.00 to 3.16 is no longer required.)
  653.  
  654.     If deallocation is requested via an upper-memory loading utility, some of
  655.     of these utilities warn that a "resident installation has failed." Such a
  656.     warning is harmless and may be ignored.
  657.  
  658.  
  659.  
  660.     THE ENVIRONMENT VARIABLE 'BLANKS'
  661.  
  662.     When the program is executed from the command line of DOS or a batch file
  663.     without an argument, it searches the DOS environment block for a variable
  664.     having the format:
  665.  
  666.             BLANKS=/SWITCH1/SWITCH2..../SWITCHn
  667.  
  668.     Up to 128 characters are allowed after the equal sign. This string can be
  669.     incorporated to the environment block via the 'SET' command of DOS or via
  670.     switch /E of this program (see below).  Program releases prior to version
  671.     3.14 lack this feature.
  672.  
  673.     While the SET command modifies the current DOS environment block, whether
  674.     it is the global or a local one, switch /E only modifies the global block
  675.     (even when the program is executed via a secondary COMMAND.COM, as in the
  676.     case of shelling out to DOS from an application).   Notice that the local
  677.     environment block is only a copy of the global block and lacks sufficient
  678.     room to increase significantly the length of a variable, and that changes
  679.     made to a local environment are not inherited by the global one.
  680.  
  681.     When searching for the environment variable, the program uses the current
  682.     DOS environment block, whether it is the global or a local one.
  683.  
  684.     The variable can be used to specify a BLANKs default configuration (e.g.,
  685.     /KB4/K+/P-/W-), which can be restored just by executing BLANKs without an
  686.     argument after a temporary change of parameters.  An especially important
  687.     use of the 'BLANKS' variable (particularly since the removal of switch /C
  688.     in version 3.17) is to change the hotkey when the default key combination
  689.     conflicts with that of a foreground application.
  690.  
  691.  
  692.  
  693.     IDENTIFICATION IN MEMORY MAPS
  694.  
  695.     If the resident has been loaded in lower conventional memory, the program
  696.     can be identified by name in usage maps yielded by various memory mapping
  697.     utilities.  Although the program sheds its own copy of the environment at
  698.     installation time (to minimize the resident size), the name
  699.  
  700.                 BLANKs n.nn
  701.  
  702.     will appear in the command line listing for the resident, irrespective of
  703.     the actual content of the DOS command line at the time of loading; <n.nn>
  704.     represents the program revision number (version).  Program releases prior
  705.     to BLANKs 2.20 lack this feature.
  706.  
  707.     If the resident is loaded in upper memory when UMB allocation is mediated
  708.     by the XMS manager directly (e.g. extended memory manager and DOS version
  709.     2 to 4, or DOS 5 not linked to the UMA), however, most memory maps do not
  710.     list the allocated UMB, lump it with other allocated UMBs, or do not show
  711.     the name of the resident.
  712.  
  713.     If UMB allocation is controlled by DOS version 5, the UMB resident can be
  714.     identified with some mapping utilities (e.g., MEM.EXE of MS-DOS) although
  715.     it is listed as "Data" instead of "Program."  Other mapping utilities can
  716.     identify the UMB resident when its associated lower-memory marker is also
  717.     loaded (see switch /H@).  Program releases prior to BLANKs 4.00 lack this
  718.     feature.
  719.  
  720.                 -----------------
  721.  
  722.  
  723.     5.  TECHNICAL INFORMATION
  724.  
  725.     The program intercepts several software or hardware interrupts:
  726.  
  727.         INT 08h - Hardware system timer
  728.         INT 09h - Keyboard
  729.         INT 10h - BIOS video services
  730.         INT 13h - BIOS disk services
  731.         INT 33h - (Microsoft/Logitech) Mouse services
  732.  
  733.     A brief description of these interrupts is given below:
  734.  
  735.     INT 8h is issued 18.2 times per second to update the time-of-the-day BIOS
  736.     counter.  Hence, the timer interrupt service must operate within a period
  737.     of less than about 55 ms, including the overhead imposed by DOS and other
  738.     programs hooking INT 8h.  To reduce overhead, BLANKs uses direct commands
  739.     to the hardware, which are issued after the original interrupt service is
  740.     completed.
  741.  
  742.     INT 9h is issued when any key on the keyboard is pressed or released.  If
  743.     the hotkey is enabled (switch /K+), the screen is blanked when the hotkey
  744.     is pressed.  The hotkey code is removed from the keyboard buffer; the key
  745.     code for the keypress that unblanks the screen is removed from the buffer
  746.     as well (version 3.12+), to allow unconstrained unblanking with any key.
  747.  
  748.     INT 10h implements BIOS video services. The screen blanking is suppressed
  749.     during video activity, but this activity does not unblank the screen once
  750.     blanking has occurred. Due to the monitoring, video speed is decreased by
  751.     a very small percentage.
  752.  
  753.     INT 13h implements the BIOS disk services.  If disk-parking-upon-blanking
  754.     is enabled (switch /P+), such parking is inhibited during BIOS disk(ette)
  755.     activity.  NOTE: Interrupt 13h is not intercepted in a special version of
  756.     BLANKs for computers lacking hard disks; this version is smaller than the
  757.     standard versions by ca. 100 bytes in the resident (and several kilobytes
  758.     in the nonresident) part.
  759.  
  760.     INT 33h (not used by DOS or the BIOS) is used in the (Microsoft/Logitech)
  761.     implementation of calls to the Mouse driver. This interrupt is claimed by
  762.     the Mouse driver during its initialization, and it is used by most mouse-
  763.     aware programs.
  764.  
  765.  
  766.  
  767.     BYPASSING INTERRUPTS
  768.  
  769.     BLANKs bypasses interrupt 8 when a blanking interval of 0 minute has been
  770.     selected (see below).  Interrupt 9 is bypassed only when an interval of 0
  771.     minute and switch /K- (see above) have been selected. When switch /K- has
  772.     been selected along with a nonzero time interval, only the hotkey service
  773.     of interrupt 9 is bypassed. The BIOS interrupt 10h (video) and 13h (disk)
  774.     cannot be bypassed by any of the switches, while the (Microsoft/Logitech)
  775.     Mouse interrupt 33h can be bypassed by switch /M-.
  776.  
  777.     Hence, the two interrupt activities of BLANKs are bypassed by the "0 /K-"
  778.     selection; this may be of use in case of testing potential conflicts with
  779.     other resident programs.
  780.  
  781.  
  782.  
  783.     ERRORLEVELS
  784.  
  785.     Upon completion, the program passes an errorlevel value which can be used
  786.     to check (via ERRORLEVEL commands in a batch file) the outcome of program
  787.     execution.  The following errorlevels may be passed:
  788.  
  789.          Value   Nature of Error
  790.          -----   ------------------------------------
  791.            255   Cyclical redundancy check failure
  792.            255   CPU type cannot execute 286+ version
  793.  
  794.            128   XMM not installed or XMS error in UMB load
  795.             64   Error in update of environment variable
  796.             32   Invalid password format
  797.             16   Invalid hotkey combination
  798.              8   Unknown video adapter
  799.              4   Unable to uninstall resident
  800.              2   Invalid switch request
  801.              1   User <CTRL-BREAK> keypress
  802.              0   Successful execution
  803.  
  804.     Some conditions generating errorlevels 1 through 128 may be additive, and
  805.     the resulting error value may represent more than a single error. Program
  806.     releases prior to BLANKs 2.40 lack this feature.
  807.  
  808.                 -----------------
  809.  
  810.  
  811.     6.  OPERATION REQUIREMENTS & CONFLICTS
  812.  
  813.     BLANKs is not compatible with Microsft WINDOWS. To execute WIN.EXE, use a
  814.     batch file WIN.BAT similar to the following one to avoid conflicts:
  815.  
  816.             @Echo Off
  817.             [d:][\path\]BLANKS 0 K-
  818.             [d:][\path\]WIN
  819.             [d:][\path\]BLANKS [t][/Switches]
  820.  
  821.  
  822.     BLANKs will fail to operate properly when access to interrupts 8 and 9 is
  823.     denied by another program or resident loaded after BLANKs. This can occur
  824.     with ill-behaved programs that take over the interrupts and fail to chain
  825.     the information to those other utilities tapping the same interrupts (see
  826.     TECHNICAL INFORMATION section), such as some WYSIWYG word processors, GUI
  827.     systems, etc.
  828.  
  829.     In particular, if access to interrupt 9 is denied, keyboard activity will
  830.     fail to unblank a blanked screen; when testing for incompatibilities with
  831.     a given program, make sure that programs voiding the manual blanking when
  832.     <Ctrl-B> is pressed, will permit video unblanking after a timed blanking.
  833.     Programs that deny access to both interrupt 8 and 9 are less of a problem
  834.     as neither manual nor timed blanking is likely to be allowed.  Otherwise,
  835.     you will need to inactivate BLANKs with the command <BLANKS 0 /K-> before
  836.     executing an ill-behaved program or application.
  837.  
  838.     To monitor mouse activity, BLANKs must be installed after a mouse driver
  839.     compatible with the Microsoft/Logitech mouse device driver is loaded and
  840.     active.
  841.  
  842.     Since the BIOS video services are comparatively slow, many programs write
  843.     directly to video memory instead of using the BIOS services. Because such
  844.     video writes are not detected by BLANKs, screen blanking may occur during
  845.     during the video activity of such programs. Similarly, any mouse activity
  846.     implemented by commands that bypass interrupt 33h will not avoid blanking
  847.     of the screen (as in the case of some desktop publishing programs).
  848.  
  849.                 -----------------
  850.  
  851.  
  852.    7.  LICENSE INFORMATION
  853.  
  854.    This documentation, programs, and other files distributed in this software
  855.    package (the "Software")  are the copyrighted property of FM de Monasterio
  856.    (the "Author"), who provides the Software and licenses its use. All rights
  857.    are reserved.
  858.  
  859.    The file BLANKS.REG contains a form needed to register this Software.
  860.  
  861.    SINGLE USER LICENSE.  Upon registration, you are granted a nontransferable
  862.    license to use this Software in a single computer at a time.  The Software
  863.    may also be transferred to another computer, provided that the Software is
  864.    used only in one (1) computer at any time; under the license, the Software
  865.    may NOT be installed on a network server.
  866.  
  867.    SITE/15-PCs LICENSE.  Upon registration, you are granted a nontransferable
  868.    license to use this Software in a single site, or a set of sites, provided
  869.    this Software is not used in more than fifteen (15) computers at any time,
  870.    and that such computers are located exclusively within the site.  Licenses
  871.    for more machines are available at discounted prices.
  872.  
  873.    SOFTWARE BUNDLING LICENSE.  Please write to the Author.
  874.  
  875.    REFUNDS POLICY.  If a problem notified within ninety (90) days of shipping
  876.    of the registered copy cannot be solved, the registration fee (but not the
  877.    shipping costs) will be refunded upon receiving a written request with the
  878.    original diskette(s) enclosed.
  879.  
  880.    UPGRADE POLICY.  Program upgrades are limited to licensed users.  Upgrades
  881.    within the same major version (e.g. release 4.00 through 4.99) are free of
  882.    charge when a self-addressed, stamped, 5.25" diskette mailer with a 360-kb
  883.    kb diskette is included with the request.  Other upgrades are charged half
  884.    the (single-user/site) registration fee.  See enclosed file BLANKS.UPG.
  885.  
  886.    TECHNICAL SUPPORT.  A phone number for technical support is made available
  887.    to site licenses for 100 machines or more; other licensed users must write
  888.    to the Author who will contact them.
  889.  
  890.  
  891.  
  892.    U.S. GOVERNMENT INFORMATION
  893.  
  894.    The use, duplication, or disclosure by the U.S. Government of the Software
  895.    is subject to the restricted rights applicable to commercial software that
  896.    are specified in the subdivision (b.3.ii) of the 'Rights in Technical Data
  897.    and Computer Software' clause, document DFARS 52.227-7013. The contractor/
  898.    manufacturer is FM de Monasterio, P.O. Box 219, Cabin John, MD 20818-0219.
  899.  
  900.                 ----------------
  901.  
  902.    DISTRIBUTION
  903.  
  904.    You may distribute this Software via magnetic and/or electronic means, but
  905.    you are specifically prohibited from:
  906.  
  907.     - Charging fees or asking donations in exchange of or payment
  908.       for copies of this Software.
  909.  
  910.     - Distributing this Software with commercial products without
  911.       the written, express permission in advance from the author.
  912.  
  913.     - Distributing this Software via a for-profit organization or
  914.       group, either alone or with other software.
  915.  
  916.     - Modifying any contents of this Software, including, but not
  917.       limited to, the copyright notice and this license.
  918.  
  919.  
  920.    The unauthorized copying, decompiling or disassembling of this Software is
  921.    prohibited.  Any other use of this Software is also prohibited without the
  922.    express, written permission in advance from the author.
  923.  
  924.    Latest program releases may be found at the Information Exchange BBS, 202-
  925.    433-6639 (2400+ baud) as a compressed archive file.
  926.  
  927.  
  928.    TECHNICAL PROBLEMS
  929.  
  930.    If you encounter problems when using the Software (which can be replicated
  931.    in the absence of other resident utilities), please write to the Author at
  932.    the address above providing your name and address, program version number,
  933.    machine model and configuration, and a description of the problem(s). When
  934.    feasible, corrections for such problems may be incorporated in new program
  935.    releases. Technical support is limited to registered users; correspondence
  936.    from nonregistered users may not be answered.
  937.  
  938.                 ----------------
  939.  
  940.    WARRANTY DISCLAIMER
  941.  
  942.    The Author cannot and does not warrant that any functions contained in the
  943.    Software will meet your requirements, or that its operations will be error
  944.    free.  The entire risk as to the Software performance or quality, or both,
  945.    is solely with the user and not the Author.  You assume responsibility for
  946.    the selection of the program to achieve your intended results, and for the
  947.    installation, use, and results obtained from the Software.
  948.  
  949.    The Author makes no warranty, either implied or expressed, including with-
  950.    out limitation any warranty with respect to this Software documented here,
  951.    its quality, performance, or fitness for a particular purpose. In no event
  952.    shall the Author be liable to you for damages, whether direct or indirect,
  953.    incidental, special, or consequential arising out the use of or any defect
  954.    in the Software, even if the Author has been advised of the possibility of
  955.    such damages, or for any claim by any other party.
  956.  
  957.    All other warranties of any kind, either express or implied, including but
  958.    not limited to the implied warranties of merchantability and fitness for a
  959.    particular purpose, are expressly excluded.
  960.  
  961.  
  962.    LIMITATION OF REMEDIES
  963.  
  964.    The information contained in the documentation for the Software is subject
  965.    to change without notice.
  966.  
  967.    The Author's entire liability, and your exclusive remedy shall be: (1) the
  968.    replacement of an original Software diskette not meeting the above Limited
  969.    Warranty and which is returned to the Author along with proof of purchase,
  970.    or (2), if the Author is unable to deliver a replacement diskette which is
  971.    free of defects, you may terminate the License Agreement by returning this
  972.    Software and the corresponding license fee will be returned.
  973.  
  974.    By using the Software, you acknowledge (1) to have read and understood all
  975.    parts of this document and (2) to have agreed with and accepted all of its
  976.    provisions without any reservation.
  977.  
  978.                 ----------------
  979.    Refer all inquiries to:
  980.                 FM de Monasterio
  981.                 P.O. Box 219
  982.                 Cabin John, MD 20818-0219
  983.                 USA
  984.  
  985.     ┌─────────────────────────────────────────────────────────────┐
  986.     │ Trademarked names are the property of the respective owners │
  987.     └─────────────────────────────────────────────────────────────┘
  988.  [END]
  989.